import os
import shutil

# 确保目标目录存在
def ensure_dir(dir_path):
    if not os.path.exists(dir_path):
        os.makedirs(dir_path)
        print(f"创建目录: {dir_path}")

# 移动文件到目标目录
def move_file(source, dest_dir, new_name=None):
    if not os.path.exists(source):
        print(f"文件不存在: {source}")
        return False
        
    # 如果指定了新文件名，使用它；否则保持原文件名
    dest_file = os.path.join(dest_dir, new_name if new_name else os.path.basename(source))
    
    # 如果目标已存在，先删除
    if os.path.exists(dest_file):
        os.remove(dest_file)
        
    # 移动文件
    try:
        shutil.move(source, dest_file)
        print(f"移动文件: {source} -> {dest_file}")
        return True
    except Exception as e:
        print(f"移动文件失败 {source}: {e}")
        return False

# 确保utils目录存在
utils_dir = os.path.join('app01', 'utils')
ensure_dir(utils_dir)

# 移动cgmData.py到app01/utils目录
move_file('cgmData.py', utils_dir)

# 清理根目录中已经复制到api_docs的文档文件
api_docs = [
    'API接口文档.md',
    'api_documentation.md',
    'basal_api_test_guide.md',
    'basal_recommendations_api_test_guide.md',
    'basal_adjust_api_doc.md',
    'api_getcgm.md'
]

# 删除根目录中的API文档（已复制到api_docs文件夹）
for doc in api_docs:
    if os.path.exists(doc):
        try:
            os.remove(doc)
            print(f"删除根目录中的文档文件: {doc}")
        except Exception as e:
            print(f"无法删除文件 {doc}: {e}")

# 更新requirements.txt确保包含所有必要的依赖
requirements = """
django==4.2.6
djangorestframework==3.14.0
djangorestframework-simplejwt==5.3.0
django-cors-headers==4.3.0
django-channels==0.7.0
channels==4.0.0
psycopg2-binary==2.9.9
pymysql==1.1.0
schedule==1.2.1
"""

# 更新requirements.txt
with open('requirements.txt', 'w') as f:
    f.write(requirements.strip())
    print("更新requirements.txt文件")

print("文件整理完成！") 